<?php

interface Workset_Model_Value_Type_Interface {

	const T_INT = 'int';
    const T_STRING = 'string';
    const T_BOOL = 'boolean';
    const T_DECIMAL = 'decimal';
    const T_TEXT = 'text';
	const T_FILE = 'file';
    const T_IMAGE = 'image';
    const T_VIDEO = 'video';

	/**
	 * Значение является файлом
	 *
	 * @abstract
	 * @return bool
	 */
	function isFile();

	/**
	 * Значение является изображением
	 *
	 * @abstract
	 * @return bool
	 */
	function isImage();

	/**
	 * Значение является видео-содержимым
	 *
	 * @abstract
	 * @return bool
	 */
	function isVideo();

	/**
	 * Значение является целым числом
	 *
	 * @abstract
	 * @return bool
	 */
	function isInt();

	/**
	 * Значение является вещественным числом
	 *
	 * @abstract
	 * @return bool
	 */
	function isDecimal();

	/**
	 * Значение является строкой
	 *
	 * @abstract
	 * @return bool
	 */
	function isString();

	/**
	 * Значение является булевым
	 *
	 * @abstract
	 * @return bool
	 */
	function isBool();

	/**
	 * Значение является текстом
	 *
	 * @abstract
	 * @return bool
	 */
	function isText();

	/**
	 * Возвращает тип атрибута
	 *
	 * @abstract
	 * @return string
	 */
	function getType();

	/**
	 * Проверка на принадлежность к указанному типу
	 *
	 * @abstract
	 * @param  $type
	 * @return bool
	 */
	function typeOf($type);

}

?>